package com.seckill.item.service;

import com.seckill.api.dto.item.ItemSearchDTO;
import com.seckill.api.dto.item.ItemSimpleInfoDTO;
import com.seckill.item.domian.dto.ItemDTO;
import com.seckill.item.domian.dto.OrderDetailDTO;
import com.seckill.item.domian.po.Item;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 商品表 服务类
 * </p>
 *
 * @author zsc
 * @since 2025-05-17
 */
public interface IItemService extends IService<Item> {


    Map<Long, Integer> countItemNumOfCategory();

    Integer countItemNumOfCategory(Long id);

    List<Item> queryByCategoryIdAndLevel(Long categoryId, Integer level);

    List<Long> getCategoryIdListWithItem();

    void downShelf(Long id);

    void add(ItemDTO itemDTO);

    void update(ItemDTO itemDTO);

    void delete(Long id);

    void upShelf(Long id);

    void deductStock(OrderDetailDTO orderDetailDTO);

    ItemSearchDTO getSearchInfo(Long id);

    List<ItemSimpleInfoDTO> getSimpleInfoList(List<Long> ids);
}
